1. Field of the Invention
The present invention relates to information processing apparatuses and methods. In particular, the present invention relates to an information processing apparatus and method that are capable of enhancing the efficiency of using hardware resources in encoding processing and decoding processing.
2. Description of the Related Art
In recent years, with increasing sizes of images, video of Full HDTV (High Definition Television: 1920 pixels×108 pixels) can be enjoyed even at home. Digital cinemas use images having a resolution of 4 K×2K (4,096×2,160 pixels), which is four times the resolution of HDTV images.
For applications of digital cinemas, a DCI (digital cinema initiatives) standard specifies a compression format for motion-picture distribution. According to the DCI standard, JPEG (Joint Photographic Experts Group) 2000 Part-1 based on the ISO (International Organization for Standardization) standard is employed as a compression/decompression technology, and the peak bit rate is 250 Mbps for an XYZ 12 bits (a frame rate of 24 Hz) moving-image sequence having an image size of a 4096×2160. Thus, in digital cinemas, baseband master images are encoded into encoded data with that bit rate, are distributed, and are put on the screen.
In applications other than digital cinemas, needs for compressing, for example, medical images and satellite picture images by using JPEG 2000 are expected to increase in the future. What is common to any of those cases is that image data handled have significantly high resolutions. JPEG 2000 employs wavelet transform as a technology for converting frequencies of image signals. The wavelet transform is a superior signal analysis technology for decomposing image signals into multiple frequency bands and is also applied to image recognition, seismic wave analysis, and so on, in addition to image compression, such as JPEG 2000 compression. In the wavelet transform, filtering processing is performed in each of vertical and horizontal directions, and during the processing, coefficient data are frequently stored in a buffer (e.g., refer to Japanese Unexamined Patent Application Publication No. 2008-022403).
Image encoding processing using such wavelet transform may be realized by dedicated hardware or may also be realized by a software program that is executed by, for example, a personal computer or the like.
FIG. 1 is a diagram showing an example in which a software program for realizing image encoding processing using wavelet transform is executed by a computer. As shown in FIG. 1, a software program on a typical computer is executed by a general-purpose processor 1, such as a CPU (central processing unit). The general-purpose processor 1 is provided with an internal memory 11, which is generally called a cache memory.
The internal memory 11 is a storage area that has a small capacity and that features the capability to allow high-speed reading and writing, compared to an external memory provided outside the processor 1, and is used for only processing executed within the processor 1. As a result of the software execution within the processor 1, wavelet transform, entropy encoding, and so on are executed. In FIG. 1, a wavelet transform section 12 and an entropy encoding section 26 are functional blocks that represent functions of the wavelet transform and the entropy encoding.
An original image 51 is externally supplied to the processor 1 through an external bus having a low data transfer rate, as indicated by arrow 61, and is temporarily stored in an input buffer 21 provided in the internal memory 11. The original image 51 stored in the input buffer 21 is read by an input controller 22 in the wavelet transform section 12 through an internal bus having a high data transfer rate, as indicated by arrow 62, and is supplied to a filter processing section 23, as indicted by arrow 63. The filter processing section 23 has a horizontal analysis filter section 31 and a vertical analysis filter section 32, which perform filter processing in the horizontal direction and the vertical direction to decompose input data into low frequency components and high frequency components. In this case, the filter processing section 23 performs the processing while temporarily storing, in an intermediate calculation buffer 25 provided in the internal memory 11, data to be used for computation. Data inputting to and outputting from the intermediate calculation buffer 25 are performed via an intermediate calculation buffer controller 24. Upon receiving data from the filter processing section 23, as indicated by arrow 64, the intermediate calculation buffer controller 24 supplies the data to the intermediate calculation buffer 25 through the internal bus, as indicated by arrow 65, and causes the data to be stored in the intermediate calculation buffer 25. The intermediate calculation buffer controller 24 reads data from the intermediate calculation buffer 25 through the internal bus, as indicated by arrow 66, and supplies the read data to the filter processing section 23, as indicated by arrow 67.
The filter processing section 23 generates coefficients of HL components, LH components, HH components, and lowest-frequency components at each decomposition level and sequentially supplies the generated component coefficients to the entropy encoding section 26, as indicated by arrow 68. The entropy encoding section 26 encodes the supplied coefficient data and supplies the resultant encoded data to an output controller 27, as indicated by arrow 69. The output controller 27 supplies the encoded data to an output buffer 28, provided in the internal memory 11, through the internal bus, as indicated by arrow 70, and causes the encoded data to be temporarily stored in the output buffer 28. The output controller 27 causes the output buffer 28 to output, as an encoded codestream 53, the encoded data at a predetermined timing. The encoded code stream 53 output from the output buffer 28 is output from the processor 1 through the external bus, as indicated by arrow 71.
As described above, the typical encoding processing of the related art uses the internal memory 11 to store data in order to execute processing at high speed.